<?php

namespace app\api\controller;

use app\api\controller\Account as AccountModel;
use think\facade\Filesystem;
class Account
{
    public $accountData;

    public function __construct()
    {
        //判断token是否有效，通过token读取学生的所有信息
        $token = input('get.token');
        if (empty($token) || $token == '-1') output_error('token为空');
        $this->accountData = AccountModel::where('member_token', '=', $token)->find();
        if (empty($this->accountData)) output_error('token无效，请重新登录');

    }

    //注册功能
    public function getData()
    {
        //输出信息，去除“member_password”字段
        unset($this->accountData['member_password']);
        output_data($this->accountData);

    }

    public function modifyName()
    {
        //修改学生姓名，学生姓名可重复。
        $name = input('get.name');
        if (empty($name)) {
            output_error('信息填写不完整。请填写完整');
            AccountModel::where('member_id', '=', $this->accountData['member_id'])->update(array('member_name' => $this->accountData));
            output_data('1');
        }

    }

    public function modifyAvatar()
    {
        //修改学生头像，需要自行创建文件夹，文件系统。
        //学生头像文件唯一，更新时需要删除原有的文件。
        //第一步：上传文件拿到文件名
        $file = request()->file('image');
        $name = Filesystem::disk('avatar')->putFile('', $file, 'uniqid');
        //第二步：删除原有文件
        if ($this->accountData['member_avatar'] != 'default.png') {
            $filename = app()->getRootPath() . 'public\\upload\\avatar\\' . $this->accountData['member_avatar'];
            unlink($filename);
        }
        //第三步：更新数据表
       Account::where('member_id','=',$this->accountData['member_id'])
            ->undata(array('member_avatar'=>$name));
        output_data($name);

}

}

